8  Partícula libre en una dimensión

\[ \definecolor{magenta}{RGB}{255,0,144} \newcommand{\cparentesis}[1]{ {\color{magenta} #1} } \newcommand{\iprn}{\cparentesis{(}} \newcommand{\fprn}{\cparentesis{)}} \newcommand{\ii}{{\rm i}} \]

Una partícula libre es aquella que no está sometida a una fuerza, por lo que la energía potencial de una partícula es constante para todo valor de \(x\) (\(F_x=dU/dx=0\) \(\Rightarrow U\iprn x \fprn = {\rm constante}\)). Dado que tenemos la libertad de elección del nivel cero de energía, podemos elegir que \(U\iprn x \fprn = {\rm cte.} = 0\), por lo que la ecuación de Schrödinger independiente esta dada por,

\[ \begin{align} \hat{H} \psi &= E \psi \\ \bigg( -\frac{\hbar^2}{2m}\frac{d^2}{dx^2} \bigg) \psi\iprn x \fprn &= E \psi\iprn x \fprn\\ -\frac{\hbar^2}{2m}\frac{d^2\psi\iprn x \fprn}{dx^2} &= E \psi\iprn x \fprn\\ \Rightarrow \frac{d^2\psi\iprn x \fprn}{dx^2} &= -\frac{2mE}{\hbar^2} \psi\iprn x \fprn\\ \therefore \frac{d^2\psi\iprn x \fprn}{dx^2} &+ \frac{2mE}{\hbar^2} \psi\iprn x \fprn =0 \end{align} \]

La ecuación a resolver es una ecuación diferencial lineal homogénea de segundo orden cuya solución general está dada por \[ \psi\iprn x \fprn = c_1 f_1\iprn x \fprn + c_2 f_2\iprn x \fprn \] donde \(f_1\iprn x \fprn\) y \(f_2\iprn x \fprn\) son soluciones de la ecuación diferencial y \(c_1\) y \(c_2\) son coeficientes constantes. En este caso especial de la partícula libre la ecuación diferencial lineal homogénea de segundo orden tiene coeficientes constantes, por lo que para resolverla podemos ocupar el ansatz \(f\iprn x \fprn=e^{\lambda x}\). Sustuimos,

\[ \begin{align} \frac{d^2 f \iprn x \fprn}{dx^2} + \frac{2mE}{\hbar^2} f \iprn x \fprn &=0\\ \frac{d^2 e^{\lambda x}}{dx^2} + \frac{2mE}{\hbar^2} e^{\lambda x} &=0\\ \lambda^2 e^{\lambda x} + \frac{2mE}{\hbar^2} e^{\lambda x} &=0\\ \Rightarrow \lambda^2 + \frac{2mE}{\hbar^2} &=0 \end{align} \]

Con la propuesta de solución hemos llegado a una ecuación algebráica de segundo orden que debe satisfacer \(\lambda\) para ser solución. Los dos posibles valores de \(\lambda\) son,

\[ \begin{align} \lambda = \pm \sqrt{ -\frac{2mE}{\hbar^2} } = \pm {\rm i}\sqrt{ \frac{2mE}{\hbar^2} } \end{align} \]

Por lo que la solución general está dada por,

\[ \psi\iprn x \fprn = c_1 e^{ {\rm i}\sqrt{ \frac{2mE}{\hbar^2} } x }+ c_2 e^{ -{\rm i}\sqrt{ \frac{2mE}{\hbar^2} } x } \]

La solución de la partícula libre en mecánica cuántica está dada por, \[ \psi\iprn x \fprn = c_1 e^{ {\rm i}\sqrt{ \frac{2mE}{\hbar^2} } x }+ c_2 e^{ -{\rm i}\sqrt{ \frac{2mE}{\hbar^2} } x } \]

Resulta útil definir \(k \equiv \sqrt{\frac{2mE}{\hbar^2}}\), que nos permite reescribir la solución general de la forma

\[ \psi\iprn x \fprn = c_1 e^{ {\rm i}k x }+ c_2 e^{ -{\rm i} k x } \]

¿Cuáles son las condiciones de frontera que tiene que satisfacer la solución? Una que es razonable es que la densidad de probabilidad sea positiva; es decir, \(|\psi\iprn x \fprn|^2=\psi^*\iprn x \fprn \psi\iprn x \fprn\geq 0\) y con un valor finito. Notemos que si \(E<0\) esta condición no se cumple.

Sea \(E<0\Rightarrow k = \sqrt{\frac{2mE}{\hbar^2}} = \sqrt{-\frac{2m|E|}{\hbar^2}}=\ii \sqrt{\frac{2m|E|}{\hbar^2}}\); es decir, \(k\) sería compleja. Al sustituir en la solución tenemos que, \[ e^{ {\rm i}k x } = e^{ \ii \cdot\ii \sqrt{\frac{2m|E|}{\hbar^2}} x} = e^{ - \sqrt{\frac{2m|E|}{\hbar^2}} x} \leftarrow \text{es una función que crece sin cota para $x<0$} \] y \[ e^{-{\rm i}k x } = e^{ -\ii \cdot\ii \sqrt{\frac{2m|E|}{\hbar^2}} x} = e^{ \sqrt{\frac{2m|E|}{\hbar^2}} x} \leftarrow \text{es una función que crece sin cota para $x>0$} \] Ambos comportamientos llevarían a que la densidad de probabilidad aumentaría sin cota, lo cual es incongruente con nuestra interpretación de la densidad de probabilidad. Por tanto, tenemos la constricción para la energía de que \(E\geq 0\).

Consideramos que la energía potencial \(U=0\), por lo que \(E\) corresponde a sólo es energía cinética.

Las constantes \(c_1\) y \(c_2\) son arbitrarias y si intentamos evaluar la integral \[ \int_{-\infty}^{\infty} \psi^*\iprn x \fprn \psi\iprn x \fprn dx \to \infty \] Es decir, la solución de la partícula libre no es normalizable en el sentido usual. Este resultado es razonable, ya que no hay razón por la cual la probabilidad de encontrar a la partícula libre cuando \(x\to \pm \infty\) tienda a cero.

8.1 Visualización de la solución

8.1.1 Caso \(c_1=1\) y \(c_2=0\)

Considermos el caso de \(c_1=1\) y \(c_2=0\), por lo que \[ \psi\iprn x \fprn = e^{ {\rm i}k x } \]

Mostrar código
from pylab import *
# Masa de un electrón
m = 9.1093837e-31  # (kg)
# Constante de planck entre 2π
ħ = 1.05457182e-34 # (J·s)
# 10 eV
E = 10*1.602e-19 # (J)
k = sqrt( 2*m*E/*ħ) )

print( "Caso. Un electrón con energía de 10 eV.")
print( f"k = {k:.3e} (1/m)")
π  = pi
x  = linspace( -3*2*π/k,3*2*π/k,1000 )
ψ  = exp( 1J*k*x)
ψ2 = conj(ψ)*ψ

# Graficación

fig,ax = plt.subplots(ncols=1,nrows=2,figsize=(6,4),sharex=True)
fig.subplots_adjust(hspace=0.1)

ax[0].plot(x,ψ.real,label='Re ψ')
ax[0].plot(x,ψ.imag,label='Im ψ')

ax[0].legend(loc=0)

ax[1].plot(x,ψ2.real,label='|ψ|²')
ax[1].fill_between(x,ψ2.real,zeros_like(x),alpha=0.3)

ax[1].legend(loc=0)

ax[1].set_xlabel('x (m)');
Caso. Un electrón con energía de 10 eV.
k = 1.620e+10 (1/m)

8.1.1.1 Visualización \({\rm Re}\Psi\)

Recordemos que la función de onda depende del tiempo y definimos $E/$

\[ \Psi \iprn x,t \fprn = e^{-\ii \omega t } e^{ {\rm i}k x } \]

Mostrar código
from pylab import *
import pandas as pd
import plotly.graph_objects as go

# Masa de un electrón
m = 9.1093837e-31  # (kg)
# Constante de planck entre 2π
ħ = 1.05457182e-34 # (J·s)
# 10 eV
E = 10*1.602e-19 # (J)
k = sqrt( 2*m*E/*ħ) )
ω   = E/ħ
print( "Caso. Un electrón con energía de 10 eV.")
print( f"k = {k:.3e} (1/m)")
print( f"ω = {ω:.3e} (1/s)" )
# Conversióna femptosegundos
ω /= 1e15
npts_x = 2000
npts_t = 100
# x,t = meshgrid( linspace(-3*2*π/k,3*2*π/k,npts_x),linspace(-1*2*π/ω,1*2*π/ω,npts_t) )
X   = linspace(-3*2*π/k,3*2*π/k,npts_x)
T   = linspace(0,4*2*π/ω,npts_t)
Ψ   = exp(-1J*ω*T[0])*exp(1J*k*X)
ReΨ = Ψ.real


cuadros = []
for n in range(1,npts_t):
    Ψ   = exp(-1J*ω*T[n])*exp(1J*k*X)
    cuadros.append( go.Frame(data=[go.Scatter(x=X, y=Ψ.real,mode="lines")],layout=go.Layout(title=f"t={T[n]:.2f} (fs)")) )

fig = go.Figure(
    data=[go.Scatter(x=X, y=ReΨ,mode="lines")],
    layout=go.Layout(
        title="t=0.00 (fs)",
        xaxis_title="x (nm)",
        yaxis_title="Re[Ψ]",
        updatemenus=[dict(type="buttons",
                          x=1.0,y=1.1,
                          buttons=[dict(label="Reproducir",
                                        method="animate",
                                        args=[None,
                                        dict(frame=dict(duration=100,redraw=True),
                                        transition=dict(duration=0,easing=None))] )])]
                          
    ),
    frames = cuadros
)

fig.show()
Caso. Un electrón con energía de 10 eV.
k = 1.620e+10 (1/m)
ω = 1.519e+16 (1/s)

8.1.1.2 Visualización \({\rm Im}\Psi\)

Mostrar código
from pylab import *
import pandas as pd
import plotly.graph_objects as go

# Masa de un electrón
m = 9.1093837e-31  # (kg)
# Constante de planck entre 2π
ħ = 1.05457182e-34 # (J·s)
# 10 eV
E = 10*1.602e-19 # (J)
k = sqrt( 2*m*E/*ħ) )
ω   = E/ħ
print( "Caso. Un electrón con energía de 10 eV.")
print( f"k = {k:.3e} (1/m)")
print( f"ω = {ω:.3e} (1/s)" )
# Conversióna femptosegundos
ω /= 1e15
npts_x = 2000
npts_t = 100
# x,t = meshgrid( linspace(-3*2*π/k,3*2*π/k,npts_x),linspace(-1*2*π/ω,1*2*π/ω,npts_t) )
X   = linspace(-3*2*π/k,3*2*π/k,npts_x)
T   = linspace(0,4*2*π/ω,npts_t)
Ψ   = exp(-1J*ω*T[0])*exp(1J*k*X)
ImΨ = Ψ.imag


cuadros = []
for n in range(1,npts_t):
    Ψ   = exp(-1J*ω*T[n])*exp(1J*k*X)
    cuadros.append( go.Frame(data=[go.Scatter(x=X, y=Ψ.imag,mode="lines",line=dict(color='firebrick'))],layout=go.Layout(title=f"t={T[n]:.2f} (fs)")) )

fig = go.Figure(
    data=[go.Scatter(x=X, y=ImΨ,mode="lines",line=dict(color='firebrick'))],
    layout=go.Layout(
        title="t=0.00 (fs)",
        xaxis_title="x (nm)",
        yaxis_title="Im[Ψ]",
        updatemenus=[dict(type="buttons",
                          x=1.0,y=1.1,
                          buttons=[dict(label="Reproducir",
                                        method="animate",
                                        args=[None,
                                        dict(frame=dict(duration=100,redraw=True),
                                        transition=dict(duration=0,easing=None))] )])]
                          
    ),
    frames = cuadros
)

fig.show()
Caso. Un electrón con energía de 10 eV.
k = 1.620e+10 (1/m)
ω = 1.519e+16 (1/s)

8.1.1.3 Visualización flechas

Mostrar código
from pylab import *
import pandas as pd
import plotly.graph_objects as go
import plotly.figure_factory as ff


# Masa de un electrón
m = 9.1093837e-31  # (kg)
# Constante de planck entre 2π
ħ = 1.05457182e-34 # (J·s)
# 10 eV
E = 10*1.602e-19 # (J)
k = sqrt( 2*m*E/*ħ) )
ω   = E/ħ
print( "Caso. Un electrón con energía de 10 eV.")
print( f"k = {k:.3e} (1/m)")
print( f"ω = {ω:.3e} (1/s)" )
ω /= 1e15 # Conversióna femtosegundos
k /= 1e9  # Conversión a nanometros 
npts_x = 16
npts_t = 100
# x,t = meshgrid( linspace(-3*2*π/k,3*2*π/k,npts_x),linspace(-1*2*π/ω,1*2*π/ω,npts_t) )
X   = linspace(-3*2*π/k,3*2*π/k,npts_x)
Y   = zeros_like(X)
T   = linspace(0,4*2*π/ω,npts_t)
Ψ   = exp(-1J*ω*T[0])*exp(1J*k*X)
ReΨ = Ψ.real
ImΨ = Ψ.imag


cuadros = []
for n in range(1,npts_t):
    Ψ   = exp(-1J*ω*T[n])*exp(1J*k*X)
    ReΨ = Ψ.real
    ImΨ = Ψ.imag
    fig = ff.create_quiver(X, Y, ReΨ, ImΨ,angle=pi/6)
    cuadros.append( go.Frame(data=fig.data,layout=go.Layout(title=f"t={T[n]:.2f} (fs)")) )


fig0 = ff.create_quiver(X, Y, ReΨ, ImΨ,angle=pi/6)
fig = go.Figure(
    data = fig0.data,
    layout=go.Layout(
        title="t=0.00 (fs)",
        xaxis_title="x (nm)",
        updatemenus=[dict(type="buttons",
                          x=1.0,y=1.1,
                          buttons=[dict(label="Reproducir",
                                        method="animate",
                                        args=[None,
                                        dict(frame=dict(duration=100,redraw=True),
                                        transition=dict(duration=0,easing=None))] )])]
                          
    ),
    frames = cuadros
)
fig.update_yaxes(range=[-1,1])

fig.show()
Caso. Un electrón con energía de 10 eV.
k = 1.620e+10 (1/m)
ω = 1.519e+16 (1/s)

8.1.2 Caso \(c_1=0\) y \(c_2=1\)

Considermos el caso de \(c_1=1\) y \(c_2=0\), por lo que \[ \psi\iprn x \fprn = e^{ -{\rm i}k x } \]

8.1.2.1 Visualización \({\rm Re}\Psi\) y \({\rm Im}\Psi\)

Recordemos que la función de onda depende del tiempo y definimos $= E/ $

\[ \Psi \iprn x,t \fprn = e^{-\ii \omega t } e^{ -{\rm i}k x } \]

Mostrar código
from pylab import *
import pandas as pd
import plotly.graph_objects as go

# Masa de un electrón
m = 9.1093837e-31  # (kg)
# Constante de planck entre 2π
ħ = 1.05457182e-34 # (J·s)
# 10 eV
E = 10*1.602e-19 # (J)
k = sqrt( 2*m*E/*ħ) )
ω   = E/ħ
print( "Caso. Un electrón con energía de 10 eV.")
print( f"k = {k:.3e} (1/m)")
print( f"ω = {ω:.3e} (1/s)" )
# Conversióna femptosegundos
ω /= 1e15
npts_x = 2000
npts_t = 100
# x,t = meshgrid( linspace(-3*2*π/k,3*2*π/k,npts_x),linspace(-1*2*π/ω,1*2*π/ω,npts_t) )
X   = linspace(-3*2*π/k,3*2*π/k,npts_x)
T   = linspace(0,4*2*π/ω,npts_t)
Ψ   = exp(-1J*ω*T[0])*exp(-1J*k*X)
ReΨ = Ψ.real
ImΨ = Ψ.imag


cuadros = []
for n in range(1,npts_t):
    Ψ   = exp(-1J*ω*T[n])*exp(-1J*k*X)
    cuadros.append( go.Frame(data=[go.Scatter(x=X, y=Ψ.real,mode="lines",name="ReΨ" ),
                                   go.Scatter(x=X, y=Ψ.imag,mode="lines",line=dict(color='firebrick'),name="ImΨ" )],
                             layout=go.Layout(title=f"t={T[n]:.2f} (fs)")) )

fig = go.Figure(
    data=[go.Scatter(x=X, y=ReΨ,mode="lines",name="ReΨ" ),go.Scatter(x=X, y=Ψ.imag,mode="lines",line=dict(color='firebrick'),name="ImΨ" )],
    layout=go.Layout(
        title="t=0.00 (fs)",
        xaxis_title="x (nm)",
        yaxis_title="Re[Ψ]",
        updatemenus=[dict(type="buttons",
                          x=1.0,y=1.1,
                          buttons=[dict(label="Reproducir",
                                        method="animate",
                                        args=[None,
                                        dict(frame=dict(duration=100,redraw=True),
                                        transition=dict(duration=0,easing=None))] )])]
                          
    ),
    frames = cuadros
)

fig.show()
Caso. Un electrón con energía de 10 eV.
k = 1.620e+10 (1/m)
ω = 1.519e+16 (1/s)